/* ========================================================================= */
/* ------------------------------------------------------------------------- */
/*!
  \file			cstdlg.h
  \date			June 2011
  \author		TNick

  \brief		Contains the definition for CstDlg class


 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @n
 Please read ReadMe.txt and Licence.txt in root folder @n
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @n

*/
/* ------------------------------------------------------------------------- */
/* ========================================================================= */
#ifndef __CST_DLG_INC__
#define __CST_DLG_INC__
//
//
//
//
/*  INCLUDES    ------------------------------------------------------------ */


class		CustMdl;
class		CstActMdl;
class		CstTlbMdl;
class		CstMnuMdl;


#include	<QDialog>
#include	<QAbstractButton>
#include	<QModelIndex>

/*  INCLUDES    ============================================================ */
//
//
//
//
/*  CLASS    --------------------------------------------------------------- */
namespace Ui {
	class CstDlg;
}


/// class representing a single customisable action
/**
*/
class CstDlg : public QDialog
{
	Q_OBJECT

	//
	//
	//
	//
	/*  DEFINITIONS    ----------------------------------------------------- */

	enum	VIEWMODE	{
		ACTIONS,
		TOOLBARS,
		MENUS,

		VIEWMAX
	};

	/*  DEFINITIONS    ===================================================== */
	//
	//
	//
	//
	/*  DATA    ------------------------------------------------------------ */

private:
	Ui::CstDlg *		ui;

	/// tell what are we displaying right now
	VIEWMODE			viewmd;

	/// edit model for actions
	CstActMdl*			act_model;
	/// edit model for toolbars
	CstTlbMdl*			tlb_model;
	/// edit model for menus
	CstMnuMdl*			mnu_model;


	/*  DATA    ============================================================ */
	//
	//
	//
	//
	/*  FUNCTIONS    ------------------------------------------------------- */

public:
	explicit CstDlg(QWidget *parent = 0);
	~CstDlg();


	/*  FUNCTIONS    ======================================================= */
	//
	//
	//
	//

public slots:
	void on_bbx_global_clicked(QAbstractButton *button);
	void on_b_sel_adv_clicked();
	void on_b_sel_add_clicked();
	void on_b_sel_sink_clicked();
	void on_b_sel_rem_clicked();
	void on_lv_crtlst_clicked(const QModelIndex &index);
};	/*	class CstDlg	*/

/*  CLASS    =============================================================== */
//
//
//
//
#endif // __CST_DLG_INC__
/* ------------------------------------------------------------------------- */
/* ========================================================================= */

